1
堆記憶體配置集合的基礎
AI034Lesson 8
00:00

成長的架構

Rust 的集合,例如 Vec<T> 以及 String,並非基本類型;它們是位於 std 模組中的庫定義結構。此基礎決定了 Rust 如何透過模組系統組織資料,並透過 RAII(資源取得即初始化)來管理記憶體。雖然簡單類型存放在堆疊上,但集合則使用 堆記憶體儲存 以支援動態擴展,這表示其記憶體必須透過 Drop 特徵進行顯式管理。

模組解析與可見性

Rust 編譯器從套件根目錄(src/lib.rssrc/main.rs)開始建立模組樹。像 mod front_of_house; 這樣的宣告會促使編譯器搜尋 src/front_of_house.rssrc/front_of_house/mod.rs。使用 pub 修飾符與重新匯出(pub use)可讓封裝的堆記憶體資料透過符合慣例的路徑安全地介接。

檔案解析樹src/lib.rssrc/front_of_house.rs– hosting.rspub use crate::front_of_house;let list = Vec::new();🦀?陷阱:mod.rs 與 name.rs 檔案衝突觸發編譯錯誤(第 183 頁)

一旦模組的作用域結束, Drop 實作就會自動回收堆記憶體:$$Memory_{reclaimed} = \sum Drop(Elements)$$。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>